package filehelper

import (
	"os"
	"path/filepath"
)

// CreateFileIfNotExists 判断文件不存在则进行创建
func CreateFileIfNotExists(filePath string) error {
	// 判断目录是否存在
	dirPath := filepath.Dir(filePath)
	if _, err := os.Stat(dirPath); os.IsNotExist(err) {
		// 目录不存在，进行创建
		if err := os.MkdirAll(dirPath, 0766); err != nil {
			return err
		}
	}

	// 判断文件是否存在
	if _, err := os.Stat(filePath); os.IsNotExist(err) {
		// 文件不存在，进行创建
		file, err := os.Create(filePath)
		if err != nil {
			return err
		}
		defer file.Close() // 确保文件关闭
	}

	return nil
}
